Networks that primarily utilize data link layer devices are often referred to as layer two (L2) networks. A data link layer device is a device that operates within the second layer of the Open Systems Interconnection (OSI) reference model, i.e., the data link layer. One example of a common L2 network is an Ethernet network in which end point devices (e.g., servers, printers, computers, and the like) are connected by one or more Ethernet switches. The Ethernet switches forward Ethernet frames, also referred to as L2 communications or L2 packets to devices within the network. As the Ethernet switches forward the Ethernet frames, the Ethernet switches learn L2 state information for the L2 network, including media access control (MAC) addressing information for the devices within the network and the physical ports through which the devices are reachable. The Ethernet switches typically store the MAC addressing information in MAC tables. When forwarding an individual Ethernet frame, an ingress port of an Ethernet switch typically broadcasts the Ethernet frame to all of the other physical ports of the switch unless the Ethernet switch has learned the specific physical port through which the destination MAC address devices is reachable. In this case, the Ethernet switch forwards a single copy of the Ethernet frame out the associated physical port.
The term “link” is often used to refer to the connection between two devices on a network. The link may be a physical medium, such as a copper wire, a coaxial cable, any of a host of different fiber optic lines, or a wireless connection. In addition, network devices may define “virtual” or “logical” links, and map the virtual links to the physical links. In some cases, Ethernet links may be combined into one logical interface for higher bandwidth and redundancy. Ports of the Ethernet links that are combined in this manner are referred to as a link aggregation group (LAG) or bundle.
A virtual private local area network service (VPLS) is one example of an L2 virtual private network (VPN) service that may be used to extend two or more remote customer networks, i.e., VPLS sites, through an intermediate network (usually referred to as a provider network) in a transparent manner, i.e., as if the intermediate network does not exist and the remote customer networks are instead directly connected to one another. In particular, the VPLS transports L2 communications, such as Ethernet packets, between customer networks via the intermediate network. In a typical configuration, provider edge (PE) routers coupled to the customer networks operate as ingress and egress for label switched paths (LSPs) or other tunnels that may be used as pseudowires within the provider network to carry encapsulated L2 communications as if the customer networks were directly attached to the same local area network (LAN). These PE routers may be referred to as “members of the VPLS domain” in that they run a VPLS instance for the VPLS domain and maintain L2 state information for the VPLS service. The PE routers may use either Border Gateway Protocol (BGP) or Label Distribution Protocol (LDP) as the control plane protocol for signaling the VPLS service. While VPLS is an example of a multipoint-to-multipoint service, an L2 virtual circuit or pseudowire is an example of a point-to-point service that may be used to connect two remote customer networks.
In some cases, a customer network site may be given redundant connectivity to a network through multiple PE routers. This form of redundancy is referred to as “multi-homing.” In multi-homing, one of the multiple PE routers coupled to the customer network is traditionally chosen as the active PE router, or designated forwarder, to send traffic to and from the customer network. The other one or more PE routers are designated as backup forwarders which can be used to send traffic to and from the customer network in the event of a network failure that would preclude the current designated forwarder from sending the traffic. As such, multi-homed deployments have traditionally utilized an “active-standby” link topology where the standby link is only used when the active link is disabled. The “active-standby” link topology avoids certain issues associated with a multi-homed deployment, e.g., packet duplicates, MAC moves, and loops, but may be wasteful of resources because only a single link is used to handle network traffic at any given time.